package object;

/**
 * this的使用细节
 */
public class ThisDetail {

    public static void main(String[] args) {
        /*
            1)this关键字可以用来访问本类的属性、方法、构造器
            2)this用于区分当前类的属性和局部变量
            3)访问成员方法的语法：this.方法名(参数列表)
            4)访问构造器语法：this(参数列表);注意只能在构造器中使用(即只能在构造器中访问另一个构造器，必须放在第一条语句)
            5)this不能在类定义的外部使用，只能在类定义的方法中使用
         */
        TestThisDetail testThisDetail01 = new TestThisDetail("张三", 50);
        TestThisDetail testThisDetail02 = new TestThisDetail("李四", 60);
        System.out.println("testThisDetail01和testThisDetail02比较结果=" + testThisDetail01.compareTo(testThisDetail02));
    }
}

class TestThisDetail {

    String name;

    int age;

    public TestThisDetail(String name, int age) {
        this.name = name;
        this.age = age;
    }

    //compareTo 比较方法
    public boolean compareTo(TestThisDetail test) {
        //名字和年龄完全一样
        return this.name.equals(test.name) && this.age == test.age;
    }
}